/*******************************************************************************
  * 文件：DevError.c
  * 作者：djy
  * 版本：v1.0.0
  * 日期：2020-11-27
  * 说明: 故障模式
*******************************************************************************/
#ifndef __DEV_ERROR_H
#define __DEV_ERROR_H

/* 头文件 *********************************************************************/
#include "Typedefine.h"
#include "Constant.h"
#include "Macro.h"
#include "OS_Timer.h"
/* 宏定义 *********************************************************************/
/* 类型定义 *******************************************************************/
typedef enum
{
    eERR_NONE = 0,  // 无故障
    eERR_DRY_FIRE,  // 干烧
    eERR_SENSOR,    // 温度传感器异常
    eERR_FXQ,       // 副线圈异常
    eERR_VOLTAGE,   // 电压异常
    eERR_FLAMEOUT,  // 意外熄火  
    eERR_FIRE_FAIL, // 点火失败
}ErrorType_te;// 故障类型

typedef enum
{
    eERR_NONE_POS = 0,  // 无炉头故障
    eERR_LEFT,      // 左灶头
    eERR_MID,       // 中灶头
    eERR_RIGHT,     // 右灶头
    eERR_ALL,       // 整机
}ErrorPos_te; // 灶头故障位置

/* 变量声明 *******************************************************************/
typedef struct
{
    ErrorPos_te     eErrorPos;
    ErrorType_te    eErrorType;
    Timer_ts        sFlashTimer;
}ErrorCtrl_ts;
/* 函数声明 *******************************************************************/
void Dev_SetErrorType(ErrorPos_te eErrPos,ErrorType_te eErrorType); // 设置故障类型
ErrorType_te Dev_GetErrorType(void);// 获取故障类型
ErrorPos_te  Dev_GetErrorPos(void); // 获取故障灶头位置
U32 DevError1(U32 arg);// 故障模式状态0
U32 DevError0(U32 arg);// 故障模式状态1
void DevErrorExit(void);// 故障模式退出

#endif /* __APP_MAIN_H */

/***************************** 文件结束 ***************************************/

